題目:
Given an integer columnNumber, return its corresponding column title as it appears in an Excel sheet.
example:
A -> 1
B -> 2
C -> 3
Z -> 26
AA -> 27
AB -> 28
給定一個數,回傳它在excel表示行數的規則中是如何表示
有點像26進位的fu,但由於沒有0的存在,所以處理方式有點不太一樣
class Solution:
def convertToTitle(self, columnNumber: int) -> str:
ans=""
while columnNumber>0:
temp=columnNumber%26
if temp==0:
temp=26
ans=chr(64+temp)+ans
columnNumber=(columnNumber-temp)//26
return ans
設立一個while迴圈,不斷%26,//26
不過要特別注意當%出來的值為0時其實是代表26(Z)而不是0
所以需要將其轉成26
接著透過ASCII編碼的規則將元素放入欲回傳字串
最後要//26前需減去temp,防範當上一位數為Z時,這位數會多算1(因為Z其實會拿走一個26)
最後執行時間19ms(faster than 99.92%)
那我們下題見